/**
  * 包对象
  * 包可以包含类、对象和特质，但是：不能包含函数或变量的定义（这是Java虚拟机的限制）
  * Scala为了弥补这一点不足，Scala提供了包对象的概念来解决这个问题
  */
package com.chenziwen.scala.chapter05 {
  package Test_Package {

    class Test {
      def test: Unit = {
        println("包中只能声明类、对象和特质，不能声明函数和变量")
      }
    }

    trait TestTrait {

    }

  }

  // 每一个包都可以有一个包对象。你需要在父包中定义它，且名称与子包一样
  package object Test_Package {
    val name = "包对象中可以声明变量"

    def testPrint(): Unit = {
      println("包对象中可以声明函数")
    }
  }

}
